﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ADDDF.Infrastructure.DomainBase;

namespace ADDDF.Infrastructure.ChangeTracking
{
    /// <summary>
    /// Interface to provide self-reconstitute function to a IEntity needed by ChangeContext.
    /// </summary>
    public interface ICanReconsituteFromSelf
    {
        /// <summary>
        /// Return an instance of the entity in the state like when it is just
        /// returned from a repository.
        /// </summary>
        /// <param name="self"></param>
        /// <returns></returns>
        IEntity ReconstituteFrom(IEntity mySelf);
    }
}
